styleproperty: make background-repeat an array property
authorCosimo Cecchi <cosimoc@gnome.org>
Thu, 10 May 2012 14:31:06 +0000 (10:31 -0400)
committerCosimo Cecchi <cosimoc@gnome.org>
Tue, 15 May 2012 17:24:40 +0000 (13:24 -0400)
gtk/gtkcssstylepropertyimpl.c
gtk/gtkthemingbackground.c

index cde6ee51170595ed7b537a46204241ffdcace06d..5fbc5930e61dff90a41ec8c587dd1527b1d3e897 100644 (file)
@@ -835,8 +835,7 @@ compute_border_width (GtkCssStyleProperty    *property,
 }
 
 static GtkCssValue *
-background_repeat_value_parse (GtkCssStyleProperty *property,
-                               GtkCssParser        *parser)
+background_repeat_value_parse_one (GtkCssParser *parser)
 {
   GtkCssValue *value = _gtk_css_background_repeat_value_try_parse (parser);
 
@@ -849,6 +848,13 @@ background_repeat_value_parse (GtkCssStyleProperty *property,
   return value;
 }
 
+static GtkCssValue *
+background_repeat_value_parse (GtkCssStyleProperty *property,
+                               GtkCssParser        *parser)
+{
+  return _gtk_css_array_value_parse (parser, background_repeat_value_parse_one, FALSE);
+}
+
 static GtkCssValue *
 background_size_parse (GtkCssStyleProperty *property,
                        GtkCssParser        *parser)
@@ -1362,8 +1368,8 @@ _gtk_css_style_property_init_properties (void)
                                           NULL,
                                           NULL,
                                           NULL,
-                                          _gtk_css_background_repeat_value_new (GTK_CSS_REPEAT_STYLE_REPEAT,
-                                                                                GTK_CSS_REPEAT_STYLE_REPEAT));
+                                          _gtk_css_array_value_new (_gtk_css_background_repeat_value_new (GTK_CSS_REPEAT_STYLE_REPEAT,
+                                                                                                          GTK_CSS_REPEAT_STYLE_REPEAT)));
   gtk_css_style_property_register        ("background-image",
                                           GTK_CSS_PROPERTY_BACKGROUND_IMAGE,
                                           CAIRO_GOBJECT_TYPE_PATTERN,
index 4c7e44bbfc4ec3aa272518a7d13bfc21a44f0145..1bedb784d66e4b489abc727a425225f5b64a9a53 100644 (file)
@@ -135,7 +135,7 @@ _gtk_theming_background_paint (GtkThemingBackground *bg,
       GtkCssRepeatStyle hrepeat, vrepeat;
 
       pos = _gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_POSITION);
-      repeat = _gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_REPEAT);
+      repeat = _gtk_css_array_value_get_nth (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_REPEAT), 0);
       hrepeat = _gtk_css_background_repeat_value_get_x (repeat);
       vrepeat = _gtk_css_background_repeat_value_get_y (repeat);
       width = bg->image_rect.width;